package com.zc.component.notify.core.template;

import com.zc.component.notify.core.NotifyType;
import com.zc.component.notify.core.Provider;
import com.zc.core.metadata.ConfigMetadata;
import reactor.core.publisher.Mono;

public interface TemplateProvider {

    NotifyType getType();

    Provider getProvider();

    Mono<? extends Template> createTemplate(TemplateProperties properties);

    default ConfigMetadata getTemplateConfigMetadata() {
        return null;
    }
}
